<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
                template="../../resources/templates/login.xhtml"
                xmlns:p="http://primefaces.org/ui"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:sec="http://www.springframework.org/security/facelets/tags" >

    <ui:define name="menu_horizontal">
        <sec:ifAnyGranted roles="ROLE_ADMINISTRADOR">
            <ui:include src="/site/acessoServidor/menu.xhtml" />
        </sec:ifAnyGranted>
    </ui:define>
    
    <ui:define name="corpo">
        
        <sec:ifAnyGranted roles="ROLE_ALUNO,ROLE_ADMINISTRADOR">
            <h:form>
                
                 <p:growl id="growl" sticky="true" showDetail="true"/>

    <p:wizard widgetVar="wiz"
              flowListener="#{controllerServidor.onFlowProcess}">

        <p:tab id="curso" title="Curso">

            <p:panel header="Dados do Curso">

                <h:messages errorClass="error"/>

                <h:panelGrid columns="2" columnClasses="label, value" styleClass="grid">
                    
                    Nome:<p:inputText value="#{controllerCurso.curso.nome}"  maxlength="50" required="true" requiredMessage="Campo Nome Obrigatorio." style="width: 200px;"/>
                    Nome reduzido:<p:inputText value="#{controllerCurso.curso.nome_reduzido}" maxlength="10" required="true" requiredMessage="Campo Nome Reduzido Obrigatorio." style="width: 200px;"/>
                    Tipo ato de autorização:<p:inputText value="#{controllerCurso.curso.ato_autorizativo_tipo}" required="true" requiredMessage="Campo Tipo de Ato de autorização Obrigatorio." style="width: 200px;"/>
                    Número ato autorizativo:<p:inputText value="#{controllerCurso.curso.ato_autorizativo_numero}" required="true" requiredMessage="Campo Numero autorizativo Obrigatorio." style="width: 200px;"/>
                    Data expedição ato autorizativo:<p:calendar value="#{controllerCurso.curso.ato_autorizativo_data_expedicao}" required="true" requiredMessage="Campo Data expedição ato autorizativo Obrigatorio." style="width: 200px;"/>
                    Data DOU ato autorizativo:<p:calendar value="#{controllerCurso.curso.ato_autorizacao_ato_dou}" required="true" requiredMessage="Campo Data DOU ato autorizativo Obrigatorio." style="width: 200px;"/>
                    Periodicidade de ingresso:<p:inputText value="#{controllerCurso.curso.periodicidade_ingresso}" required="true" requiredMessage="Campo  Periodicidade de ingresso Obrigatorio." style="width: 200px;"/>
                    Data início:<p:calendar value="#{controllerCurso.curso.data_inicio}" required="true" requiredMessage="Campo  Data início Obrigatorio." style="width: 200px;"/>
                    Data fim:<p:calendar value="#{controllerCurso.curso.data_fim}" required="true" requiredMessage="Campo  Data fim Obrigatorio." style="width: 200px;"/>
                    Numero de períodos mínimo para integralização:<p:inputText value="#{controllerCurso.curso.periodo_minimo_numero_integralizacao}" required="true" requiredMessage="Campo Numero de períodos mínimo para integralização Obrigatorio." style="width: 200px;" />
                    Numero de períodos máximo para integralização:<p:inputText value="#{controllerCurso.curso.periodo_maximo_numero_integralizacao}" style="width: 200px;"/>
                    Área de conhecimento:<p:inputText value="#{controllerCurso.curso.area_conhecimento}" required="true" requiredMessage="Campo Área de conhecimento Obrigatorio." style="width: 200px;"/>
                    Regime de competência:<p:selectBooleanButton value="#{controllerCurso.curso.regime_competencia}" onLabel="Sim" offLabel="Não" />
                    Regime de matrícula:<p:inputText value="#{controllerCurso.curso.regime_matricula}" required="true" requiredMessage="Campo Regime de matrícula Obrigatorio." style="width: 200px;"/>
                    Situação:<p:inputText value="#{controllerCurso.curso.situacao}" required="true" requiredMessage="Campo Situação Obrigatorio." style="width: 200px;"/>
                    Nível de ensino:<p:inputText value="#{controllerCurso.curso.nivel_ensino}" style="width: 200px;"/>
                    Etapa de ensino:<p:inputText value="#{controllerCurso.curso.etapa_ensino}" style="width: 200px;"/>
                    Modalidade de ensino:<p:inputText value="#{controllerCurso.curso.modalidade_ensino}" style="width: 200px;"/>
                    Tipo de ato reconhecimento:<p:inputText value="#{controllerCurso.curso.ato_reconhecimento_tipo}" style="width: 200px;"/>
                    Número do ato reconhecimento:<p:inputText value="#{controllerCurso.curso.ato_reconhecimento_numero}" style="width: 200px;"/>
                    Data de expedição reconhecimento:<p:calendar value="#{controllerCurso.curso.data_expedicao_reconhecimento}" style="width: 200px;"/>
                    Data DOU reconhecimento:<p:calendar value="#{controllerCurso.curso.data_dou_reconhecimento}" style="width: 200px;"/>
                    Formação profissional:<p:inputText value="#{controllerCurso.curso.formacao_profissional}" style="width: 200px;"/>
                    Formação acadêmica:<p:inputText value="#{controllerCurso.curso.formacao_academica}" style="width: 200px;"/>
                    EJA:<p:selectBooleanButton value="#{controllerCurso.curso.eja}" onLabel="Sim" offLabel="Não" />

                    
                </h:panelGrid>
            </p:panel>
        </p:tab>

        <p:tab id="instituicao" title="Instituição">
            <p:panel header="Dados da Instituição">

                <h:messages errorClass="error"/>

                <h:panelGrid columns="2" columnClasses="label, value">

                    Instituição:<p:inputText value="#{controllerCurso.curso.instituicao}" required="true"/>
                    Unidade de ensino:<p:inputText value="#{controllerCurso.curso.unidade_ensino}" required="true"/>
                    Unidade organizacional:<p:inputText value="#{controllerCurso.curso.unidade_organizacional}" required="true"/>
                    
                    
     
                </h:panelGrid>
            </p:panel>
        </p:tab>


        <p:tab id="projeto_pedagogico" title="Projeto Pedagógico">
            <p:panel header="Projeto Pedagógico">

                <h:messages errorClass="error"/>

                <h:panelGrid columns="2" columnClasses="label, value">
                                
                    Projeto Pedagógico:
                    <p:fileUpload fileUploadListener="#{controllerCurso.handleFileUpload}" mode="advanced" sizeLimit="100000" allowTypes="/(\.|\/)(pdf)$/"
                                  multiple="false" style="width: 600px;" invalidFileMessage="Apenas PDF" invalidSizeMessage="Tamanho máximo 100kb"
                                  required="true" requiredMessage="É obrigatório anexar o arquivo." showButtons="false" label="Arquivo"/>
                    Data do projeto pedagógico:<p:calendar value="#{controllerCurso.curso.data_projeto_pedagogico}" />

                </h:panelGrid>
            </p:panel>
        </p:tab>



        
        
        <p:tab id="confirm" title="Confirmação">
            <p:panel header="Confirmation">

                <h:panelGrid id="confirmation" columns="2">

                    Nome:<h:outputText value="#{controllerCurso.curso.nome}"  />
                    Nome reduzido:<h:outputText value="#{controllerCurso.curso.nome_reduzido}" />
                    Tipo ato de autorização:<h:outputText value="#{controllerCurso.curso.ato_autorizativo_tipo}" />
                    Número ato autorizativo:<h:outputText value="#{controllerCurso.curso.ato_autorizativo_numero}" />
                    Data expedição ato autorizativo: <h:outputText value="#{controllerCurso.curso.ato_autorizativo_data_expedicao}">
                                         <f:convertDateTime pattern="dd/MM/yyyy"/>
                                         </h:outputText>
                    
                    Data DOU ato autorizativo: <h:outputText value="#{controllerCurso.curso.ato_autorizacao_ato_dou}">
                                         <f:convertDateTime pattern="dd/MM/yyyy"/>
                                         </h:outputText>
                
                    Periodicidade de ingresso:<h:outputText value="#{controllerCurso.curso.periodicidade_ingresso}" />
                    Data início:<h:outputText value="#{controllerCurso.curso.data_inicio}">
                                         <f:convertDateTime pattern="dd/MM/yyyy"/>
                                         </h:outputText>
                    
                    Data fim: <h:outputText value="#{controllerCurso.curso.data_fim}">
                                         <f:convertDateTime pattern="dd/MM/yyyy"/>
                                         </h:outputText>
                                        
                    Numero de períodos mínimo para integralização:<h:outputText value="#{controllerCurso.curso.periodo_minimo_numero_integralizacao}" />
                    Numero de períodos máximo para integralização:<h:outputText value="#{controllerCurso.curso.periodo_maximo_numero_integralizacao}"/>
                    Área de conhecimento:<h:outputText value="#{controllerCurso.curso.area_conhecimento}" />
                    Regime de competência:<p:selectBooleanButton value="#{controllerCurso.curso.regime_competencia}" onLabel="Sim" offLabel="Não"/>
                    Regime de matrícula:<h:outputText value="#{controllerCurso.curso.regime_matricula}" />
                    Situação:<h:outputText value="#{controllerCurso.curso.situacao}" />
                    Nível de ensino:<h:outputText value="#{controllerCurso.curso.nivel_ensino}"/>
                    Etapa de ensino:<h:outputText value="#{controllerCurso.curso.etapa_ensino}"/>
                    Modalidade de ensino:<h:outputText value="#{controllerCurso.curso.modalidade_ensino}"/>
                    Tipo de ato reconhecimento:<h:outputText value="#{controllerCurso.curso.ato_reconhecimento_tipo}"/>
                    Número do ato reconhecimento:<h:outputText value="#{controllerCurso.curso.ato_reconhecimento_numero}"/>
                    Data de expedição reconhecimento: <h:outputText value="#{controllerCurso.curso.data_expedicao_reconhecimento}">
                                         <f:convertDateTime pattern="dd/MM/yyyy"/>
                                         </h:outputText>                  
                    
                    Data DOU reconhecimento: <h:outputText value="#{controllerCurso.curso.data_dou_reconhecimento}">
                                         <f:convertDateTime pattern="dd/MM/yyyy"/>
                                         </h:outputText>
                    
                    Formação profissional:<h:outputText value="#{controllerCurso.curso.formacao_profissional}"/>
                    Formação acadêmica:<h:outputText value="#{controllerCurso.curso.formacao_academica}"/>
                    EJA:<p:selectBooleanButton value="#{controllerCurso.curso.eja}" onLabel="Sim" offLabel="Não" />
                    Instituição:<h:outputText value="#{controllerCurso.curso.instituicao}" />
                    Unidade de ensino:<h:outputText value="#{controllerCurso.curso.unidade_ensino}" />
                    Unidade organizacional:<h:outputText value="#{controllerCurso.curso.unidade_organizacional}" />
                    
                    Data do projeto pedagógico:<h:outputText value="#{controllerCurso.curso.data_projeto_pedagogico}">
                                         <f:convertDateTime pattern="dd/MM/yyyy"/>
                                         </h:outputText>
                    


                </h:panelGrid>
                
                              </p:panel>
                    </p:tab>

  </p:wizard>

                <p:commandButton value="Cadastrar" update="growl" 
                                 actionListener="#{controllerCurso.salvar()}"/>

              </h:form>
            
        </sec:ifAnyGranted>
        
    </ui:define>
    
</ui:composition>
